// pages/selectAddress/selectAddress.js
var QQMapWX = require('../../../../libs/qqmap-wx-jssdk.min.js');
var qqmapsdk;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    searchLabelShow: false,
    currentAddress: "",
    nearbyAddress: []
  },

  // 搜索框点击事件,输入框聚焦
  handleFocus: function (e) {
    this.setData({
      searchLabelShow: true
    })
  },
  // 搜索框失去焦点处理
  handleBlur: function (e) {
    console.log(e)
    if (!e.detail.value) {
      this.setData({
        searchLabelShow: false
      })
    } else {
      this.handleConfirm(e.detail.value);
    }
  },

  // 刷新操作
  handleRefresh: function () {
    this.getAddressList(this)
  },

  // 地址点击选择操作
  clickAddress: function (val) {
    wx.navigateTo({
      url: '../selectStore/selectStore?name=' + val.currentTarget.dataset.name + '&lat=' + val.currentTarget.dataset.location.lat + '&lng=' + val.currentTarget.dataset.location.lng
    })
  },

  // 获取当前地理坐标，然后获取附近的地址
  getAddressList(self) {
    wx.showLoading({
      title: '加载中',
    })
    //1、获取当前位置坐标
    wx.getLocation({
      type: 'wgs84',
      success: function (res) {
        var latitude = res.latitude
        var longitude = res.longitude
        //2、根据坐标获取当前位置名称，显示在顶部:腾讯地图逆地址解析
        qqmapsdk.reverseGeocoder({
          location: {
            latitude: latitude,
            longitude: longitude
          },
          get_poi: 1,
          success: function (res) {
            self.setData({
              currentAddress: res.result.formatted_addresses.recommend, // 获取经过腾讯地图优化过的地理位置描述
              nearbyAddress: res.result.pois // 获取附近poi列表
            })
            wx.hideLoading()
          },
          fail: function (res) {
            console.log(res);
          }
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.hideShareMenu()
    // 实例化API核心类
    qqmapsdk = new QQMapWX({
      key: 'AD5BZ-CHCKS-64OOD-6G6TX-BSOA6-IFF3V'
    });
    this.getAddressList(this);
  },
  // 监听搜索框输入
  handleInput: function (e) {
    if (!e.detail.value) {
      this.handleRefresh()
    }
  },
  // 搜索框搜索根据关键字搜索地址
  handleConfirm(val) {
    var self = this;
    if (!val.detail.value) {
      self.handleRefresh()
    } else {
      qqmapsdk.search({
        keyword: val.detail.value,
        success: function (res) {
          console.log(res);
          self.setData({
            nearbyAddress: res.data
          })
        },
        fail: function (res) {
          console.log(res);
        }
      });
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})